小编典典

Git错误:致命:无法连接套接字(无效参数)

all

我的 msysGit(Windows 上的 Git)在我的家用机器上工作得很好,但是在工作中,我们在 Microsoft ISA 代理后面,当我执行 git clone 时出现以下错误:

H:\>git clone git://github.com/akitaonrails/vimfiles.git
Initialized empty Git repository in H:/vimfiles/.git/
github.com[0: 65.74.177.129]: errno=Invalid argument
fatal: unable to connect a socket (Invalid argument)

我尝试将 http_proxy 环境变量设置为:

http://our-proxy-server:8088

我已经设置了 git http.proxy 配置指令:

git config --global http.proxy http://our-proxy-server:8088

以上都没有区别。

http://使用而不是执行 git clone会git://产生以下结果:

H:\>git clone http://github.com/akitaonrails/vimfiles.git
Initialized empty Git repository in H:/vimfiles/.git/
fatal: http://github.com/akitaonrails/vimfiles.git/info/refs download error - The    requested URL returned error: 407

407 当然是身份验证错误。

所以我的问题是:有没有人设法让 git 从代理后面工作,特别是 ISA 代理?我不知道这是否值得追求。非常感谢任何帮助。


阅读 149

收藏
2022-07-01

共1个答案

小编典典

我有完全相同的错误;但~/.gitconfig全局配置文件是关键。

如果你有一个带身份验证的代理,你需要把它放进去:

git config --global http.proxy http://login:password@our-proxy-server:8088

它只是工作(使用’ git clone http:‘)

详细介绍相同设置的博客示例:通过 HTTP 进行 GIT 克隆:谁知道?


如果它仍然在 407 中失败,则可能与git-fetch 在第二个 HTTP GET 上丢失身份验证令牌的问题有关。可能需要更新版本的 libcurl 。


2011 年 1 月更新:jbustamovej在他的回答(赞成)他的博客文章“企业代理背后的 GitHub”中提到,其中添加了以下内容:

需要注意的是,如果您的登录有反斜杠,如 中domain\login您必须转义反斜杠,如:

git config --global http.proxy http://domain\\\login:password@our-proxy-server:8088
2022-07-01